/**
 * SQL执行结果接口
 */
export interface SqlExecuteResult {
  /** 影响的行数 */
  changes: number;
  /** 最后插入的行ID */
  lastInsertRowid?: number | bigint;
}

/**
 * SQLite事务隔离级别
 * 
 * - DEFERRED: 延迟锁定，默认模式，仅在需要时获取锁
 * - IMMEDIATE: 立即锁定，事务开始时立即获取写锁
 * - EXCLUSIVE: 排他锁定，事务开始时获取排他锁，阻止其他连接读取数据
 * - READ UNCOMMITTED: 读未提交，允许脏读
 * - READ COMMITTED: 读已提交，防止脏读
 * - SERIALIZABLE: 可序列化，最高隔离级别，防止脏读、不可重复读和幻读
 */
export type TransactionIsolationLevel = 
  | 'DEFERRED'
  | 'IMMEDIATE' 
  | 'EXCLUSIVE' 
  | 'READ UNCOMMITTED' 
  | 'READ COMMITTED' 
  | 'SERIALIZABLE';

/**
 * 事务选项接口
 */
export interface TransactionOptions {
  /** 事务隔离级别 */
  isolationLevel?: TransactionIsolationLevel;
}
